package com.group.eams.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.group.eams.pojo.dto.FixedAssetQueryDto;
import com.group.eams.pojo.entity.FixedAsset;
import com.group.eams.pojo.vo.*;
import com.group.eams.service.FixedAssetService;
import com.group.eams.mapper.FixedAssetMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author 恩哲欣
* @description 针对表【fixed_asset(固定资产表)】的数据库操作Service实现
* @createDate 2024-10-29 16:09:34
*/
@Service
public class FixedAssetServiceImpl extends ServiceImpl<FixedAssetMapper, FixedAsset> implements FixedAssetService {

    @Autowired
    private FixedAssetMapper fixedAssetMapper;

    /**
     * 分页查询
     *
     * @param fixedAssetQueryDto
     * @return
     */
    @Override
    public Page<FixedAssetListVo> findByQueryDto(FixedAssetQueryDto fixedAssetQueryDto) {
        Page<FixedAssetListVo> page = new Page<>(fixedAssetQueryDto.getPage(), fixedAssetQueryDto.getLimit());
        return fixedAssetMapper.findByQueryDto(page,fixedAssetQueryDto);
    }

    /**
     * 查询所有
     *
     * @return
     */
    @Override
    public List<FixedAsset> findAll() {
        return fixedAssetMapper.findAll();
    }

    /**
     * 根据id查询财务信息
     *
     * @param id
     * @return
     */
    @Override
    public FixedAssetAccountVo findAssetAccountById(Long id) {
        return fixedAssetMapper.findAssetAccountById(id);
    }

    /**
     * 根据编号查询维保信息
     *
     * @param id
     * @return
     */
    @Override
    public FixedAssetMaintenVo findAssetMaintenById(Long id) {
        return fixedAssetMapper.findAssetMaintenById(id);
    }

    /**
     * 根据编号查询采购信息
     *
     * @param id
     * @return
     */
    @Override
    public FixedAssetPurchaseVo findPurchaseByAssetId(Long id) {
        return fixedAssetMapper.findPurchaseByAssetId(id);
    }

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    @Override
    public FixedAsset findById(Long id) {
        return fixedAssetMapper.findById(id);
    }

    /**
     * 根据id查询基础信息
     *
     * @param id
     * @return
     */
    @Override
    public FixedBasicAssetVo findBasicById(Long id) {
        return fixedAssetMapper.findBasicById(id);
    }

    /**
     * 更新
     *
     * @param fixedAsset
     * @return
     */
    @Override
    public boolean update(FixedAsset fixedAsset) {
        return fixedAssetMapper.update(fixedAsset) > 0;
    }

    /**
     * 新增
     *
     * @param fixedAsset
     * @return
     */
    @Override
    public boolean insert(FixedAsset fixedAsset) {
        return fixedAssetMapper.insert(fixedAsset) > 0;
    }


}
